// 课程预约模块相关的TypeScript类型定义

/**
 * 课程预约信息
 */
export interface Booking {
  id: number
  memberId: number
  memberName: string
  courseId: number
  courseName: string
  coachId: number
  coachName: string
  bookingDate: string // 预约日期
  startTime: string // 开始时间
  endTime: string // 结束时间
  status: number // 0-已取消, 1-待确认, 2-已确认, 3-已完成, 4-已过期
  createdAt: string
  updatedAt: string
}

/**
 * 创建课程预约请求参数
 */
export interface CreateBookingRequest {
  memberId: number
  courseId: number
  coachId: number
  bookingDate: string
  startTime: string
  endTime: string
}

/**
 * 更新课程预约请求参数
 */
export interface UpdateBookingRequest {
  status?: number
}

/**
 * 课程预约列表响应数据
 */
export interface BookingListResponse {
  list: Booking[]
  total: number
  page: number
  pageSize: number
}

/**
 * 课程时间安排
 */
export interface CourseSchedule {
  id: number
  courseId: number
  courseName: string
  coachId: number
  coachName: string
  date: string // 课程日期
  startTime: string // 开始时间
  endTime: string // 结束时间
  capacity: number // 最大容量
  bookedCount: number // 已预约人数
  available: boolean // 是否可预约
}
